package day6;

//模拟----可作为模版
public class 大数相加 {
	public String solve (String s, String t) {
        StringBuilder str=new StringBuilder();
        //从后往前模拟加法----从个位开始，从后往前每位相加，同时记录进位；
        int i=s.length()-1,j=t.length()-1;
        //tmp记录进位
        int tmp=0;
        //tmp!=0用于处理相同长度的进位问题
        //能到该判断，说明，i,j已经均为0，但s[0]+t[0]仍可能产生进位，因此进行tmp的判断
        while(i>=0||j>=0||tmp!=0){
            if(i>=0) 
            	tmp+=s.charAt(i--)-'0';
            if(j>=0) 
            	tmp+=t.charAt(j--)-'0';
            str.append((char)(tmp%10+'0'));
            //tmp直接更新为进位，如果不更新，则需要置空再加进位，两者等价
            tmp/=10;
        }
        return str.reverse().toString();
    }
}
